Typically, high volumes of usage requests are sent in a continuous network stream to an Online Charging System (OCS) entry point from an Intelligent Network node (IN). A usage request is any form of usage processing which requires customer data for charging purposes including, for example: a kilowatt of electricity used by a commercial customer during peak hour; a call from one subscriber to another; or a download request. Each usage request is processed separately and a response is returned to the originating IN.
Processing of usage requests is typically accomplished asynchronously: while one usage request is being processed, the next usage request can already be read from the network connection. The chronological order of incoming usage requests and outgoing usage responses can be different as a result of this asynchronous processing. Inside the OCS, processing of an individual usage request is typically accomplished synchronously: the usage request is sent from the OCS entry point to the OCS business logic nodes for processing. One OCS entry point typically serves many OCS business logic nodes.
Sending a small usage request (typically 100-200 bytes in size) results in costly network IO operations, context switches and transmission latency. If the time spent to process the individual usage request is very short (e.g., below 1 ms)—this cost can become a limiting factor for the OCS throughput and increase the Total Cost of Ownership (TCO) of the OCS. The OCS latency requirements for usage request processing is: 99.9% of all usage requests should be processed in less than 50 ms.